package xyz.zhzby.cyzx.cms.service;

import xyz.zhzby.cyzx.cms.dto.request.ArticleAddRequest;
import xyz.zhzby.cyzx.cms.dto.request.ArticlePageRequest;
import xyz.zhzby.cyzx.cms.dto.response.ArticleResponse;
import xyz.zhzby.cyzx.cms.entity.Article;
import com.baomidou.mybatisplus.extension.service.IService;
import xyz.zhzby.cyzx.servicebase.domain.PageResponse;
import xyz.zhzby.cyzx.servicebase.domain.RestResponse;

/**
 * <p>
 * 文章表 服务类
 * </p>
 *
 * @author zby
 * @since 2021-12-10
 */
public interface IArticleService extends IService<Article> {

    RestResponse<Long> createArticle(ArticleAddRequest articleAddRequest);

    RestResponse<Long> updateArticle(ArticleAddRequest articleAddRequest);

    RestResponse<ArticleResponse> getArticleById(Long articleID);

    RestResponse<PageResponse<ArticleResponse>> getArticleList(ArticlePageRequest articlePageRequest);

    RestResponse<String> deleteArticle(Long articleID);

    RestResponse<String> recycle(Long articleID);
}
